The present invention pertains to technology of correcting lens shading in image data captured by a camera.
“Lens shading” is a phenomenon in which an image taken through an optical lens is bright in the center and darker toward the edges as shown in FIG. 7A. Such phenomenon results from decreases in the amount of light in the peripheral area of an image sensor as shown in FIG. 7B. Specifically, since light enters diagonally in the peripheral area, the amount of incident light per unit pixel is smaller as compared with the central area, causing the image to become dark in the edges. Due to lens shading, output from the image sensor decreases concentrically in the direction going toward the periphery, with an optical-axis position being as the center. Shading characteristics vary depending upon the camera diaphragm value, zoom position, type of lens, etc.
FIG. 8 is a block diagram illustrating an exemplary configuration of a conventional shading correction system. The configuration of FIG. 8 includes a ROM 53 in which correction data for shading correction is stored. An address generation block 51a generates an address in the horizontal direction from a horizontal synchronizing signal HD, while an address generation block 51b creates an address in the vertical direction from a vertical synchronizing signal VD. A radius operation block 52 squares the respective horizontal- and vertical-direction addresses and adds the resultant squares together, thereby calculating the square of the radius of the concentric circle that passes through the addresses, with the center of the circle being the optical-axis position. Subsequently, correction data that corresponds to the output value from the radius operation block 52 is read from the correction-data storing ROM 53. Gain control for the read correction data is then carried out by a gain controller 54. Based on the gain-controlled correction data, a correction processing block 55 corrects output from the image sensor.
Another prior art example includes a RAM in place of the ROM 53 in the configuration of FIG. 8.
Furthermore, disclosed in document 1 (Japanese Laid-Open Publication No. 2000-41179) is a configuration in which a plurality of ROMs 107, 108 and 109 that store therein shading-correction data are included, and a ROM-data switching unit 110 switches, based on a control signal outputted from an optical lens 101, the ROM data for use in correction.
Nevertheless, those prior art techniques suffer from the following problems.
First, in the configuration of FIG. 8, correction data for shading correction is stored in the ROM. This causes the shading-correction characteristics themselves to be fixed, making it difficult to perform shading correction to accord with characteristics of the optical system. By gain control, it is of course possible to make shading corrections corresponding to individual cases to a certain extent, but in practice that extent is not sufficient for corresponding to various kinds of products, such that gain-control shading correction cannot be applied widely. Furthermore, in addition to the ROM in which a large amount of correction data is stored, a radius operation unit for carry out square calculation, and a gain controller for performing gain control are necessary, which results in an increase in the circuit size.
Secondly, in the configuration in which a ROM is replaced by a RAM, since correction data can be updated easily, shading correction that conforms to characteristics of the optical system can also be realized easily. However, RAMs are larger in circuit size than ROMs. The circuit size of the configuration with a RAM is thus greater that that of the configuration of FIG. 8. Moreover, correction data has to be written into the RAM during system startup, requiring the system to take a long time to start operation.
Thirdly, the configuration disclosed in document 1 realizes shading correction that accords with characteristics of the optical system by including a plurality of ROMs. However, providing the plurality of ROMs, in which a large amount of correction data is stored, results in a larger circuit size as well as higher costs.